package pattern1.ImmutableObject.demo;

import com.alibaba.fastjson.JSON;

/**
 * @创建人 liweijia
 * @创建时间 2022/7/23
 * @描述 程序的主要用途
 */
public class Main {
    public static void main(String[] args) throws InterruptedException {
        // 创建牌
        Pai pai = new Pai(StatusEnum.PLAYED, "一筒");
        System.out.println("线程处理之前pai=" + JSON.toJSONString(pai));
        // 一些列处理这个牌的线程
        new Thread(() -> System.out.println("统计亮牌个数程序:操作" + pai.getNum() + " " + pai.getStatusEnum())).start();
        new Thread(() -> System.out.println("上报日志:操作" + pai.getNum() + " " + pai.getStatusEnum())).start();
        new Thread(() -> System.out.println("其他程序:操作" + pai.getNum() + " " + pai.getStatusEnum())).start();
        // 等待线程执行完毕
        Thread.sleep(2000);
        // 牌还是这个牌，没有线程能更改他
        System.out.println("线程处理之后pai=" + JSON.toJSONString(pai));
    }
}
